import { PORT1 } from "@/api/config/servicePort";
import http from "@/api";
import { ReqPage, ResPage } from "@/api/interface";

// ai 聊天模型
export namespace ChatModel {
  export interface ResChatModel {
    id: number; // 主键
    keyId: number; // 密钥Id
    name: string; // 模型名称
    model: string; // 模型标志
    platform: string; // 平台
    sort: number; // 排序
    status: number; // 状态
    temperature: number; // 温度参数
    maxTokens: number; // 单条回复的最大 Token 数量
    maxContexts: number; // 上下文的最大 Message 数量
    createBy: number;
    createTime: Date;
    updateBy: number;
    updateTime: Date;
    isDeleted: number;
  }

  export interface ReqChatModel extends ReqPage {
    id: number; // 主键
    keyId: number; // 密钥Id
    name: string; // 模型名称
    model: string; // 模型标志
    platform: string; // 平台
    sort: number; // 排序
    status: number; // 状态
    temperature: number; // 温度参数
    maxTokens: number; // 单条回复的最大 Token 数量
    maxContexts: number; // 上下文的最大 Message 数量
    createBy: number;
    createTime: Date;
    updateBy: number;
    updateTime: Date;
    isDeleted: number;
  }
}

// 查询ai 聊天模型分页
export const getChatModelPage = (params: ChatModel.ReqChatModel) => {
  return http.get<ResPage<ChatModel.ReqChatModel>>(PORT1 + `/ai/chat-model/page`, params);
};
// 查询ai 聊天模型详情
export const getChatModel = (id: number) => {
  return http.get<ChatModel.ReqChatModel>(PORT1 + `/ai/chat-model/get/${id}`);
};

// 新增ai 聊天模型
export const createChatModel = (data: ChatModel.ReqChatModel) => {
  return http.post<Boolean>(PORT1 + `/ai/chat-model/create`, data);
};

// 修改ai 聊天模型
export const updateChatModel = (data: ChatModel.ReqChatModel) => {
  return http.put<Boolean>(PORT1 + `/ai/chat-model/update`, data);
};
// 删除ai 聊天模型
export const deleteChatModel = (id: number) => {
  return http.delete<Boolean>(PORT1 + `/ai/chat-model/delete/${id}`);
};
